home *** CD-ROM | disk | FTP | other *** search
- ; **********************
- ; * RALENTIZA ORDENATA *
- ; **********************
- ; ----------------------------
- ; PAUSA n (N=num HEX 4 CIFRAS)
- ; ----------------------------
- ; JCE / Mayo 1992
- ;
- ;
- CODE SEGMENT
- ASSUME CS:CODE, DS:CODE
-
- ORG 100h
-
- EXTRN CONVERT:NEAR
-
- entrada EQU 82H
-
-
-
- RUN: JMP RUN0
-
- db "PAUSA.COM - JCE'92"
-
- RUN0:
- MOV DX,OFFSET MSG
- MOV AH,9
- INT 21H
-
- XOR AX,AX
- MOV ES,AX
- CLI
- MOV WORD PTR ES:[20H],0AAH
- MOV WORD PTR ES:[22H],1302H ; restaura INT 20H
- STI
- MOV DI,entrada
- CALL convert
- JNC RUN2
-
- MOV DX,OFFSET MSG1
- MOV AH,9
- INT 21H
- JMP RETDOS
-
- RUN2:
- MOV WORD PTR CS:[valor],AX
- MOV DX,OFFSET MSG0
- MOV AH,9
- INT 21H
-
- XOR AX,AX
- MOV ES,AX
-
- CLI
- MOV AX,WORD PTR ES:[20H]
- MOV WORD PTR CS:[OLD8],AX
- MOV AX,WORD PTR ES:[22H]
- MOV WORD PTR DS:[OLD8+2],AX
- MOV WORD PTR ES:[20H],OFFSET PROG
- MOV WORD PTR ES:[22H],CS
- STI
-
- MOV AX,3100H
- MOV DX,40 ; bytes/16 reservados
- INT 21H ; Residente
-
- RETDOS:
- MOV WORD PTR CS:[entrada],0FFFFH
-
- MOV AX,4C00H
- INT 21H ; Vuelve al DOS
-
- ; -------------------------------------------------------
-
- PROG:
- PUSH AX
- PUSH CX
- PUSHF
-
- MOV CX,WORD PTR CS:[valor]
- retardo:
- ADD AX,[DI+20]
- ADD AX,[DI+20]
- LOOP retardo
-
- POPF
- POP CX
- POP AX
- JMP CS:[OLD8]
-
- ;
- OLD8 DD 0
- valor DD 0
-
- MSG DB 10,13,"** PAUSA.COM / JCE May 1992 **$"
- MSG0 DB 10,13,"Ok. ordenador ralentizado!",10,13,"$"
- MSG1 DB 10,13,"Error! VALOR INCORRECTO (4 cifras en HEX)",10,13,"$"
-
- CODE ENDS
- END RUN